home *** CD-ROM | disk | FTP | other *** search
- package hhapplet;
-
- import java.io.File;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class URLFileHandler {
- public static String GetNormalizedLocal(String var0) {
- String var1 = var0;
-
- for(int var2 = 0; var2 < var1.length(); ++var2) {
- if (var1.charAt(var2) > 127) {
- var1 = var1.substring(0, var2) + "%" + Integer.toString(var1.charAt(var2), 16) + var1.substring(var2 + 1, var1.length());
- }
- }
-
- return var1;
- }
-
- public static URL makeURL(URL var0, String var1, String var2) throws MalformedURLException {
- try {
- String var13 = var0.getProtocol();
- String var4 = var0.getHost();
- String var5 = var0.getFile();
- int var6 = var0.getPort();
- String var7 = tuHtmlToText(var5);
- String var8 = GetNormalizedLocal(var7);
- URL var9 = new URL(var13, var4, var6, var8);
- String var10 = tuHtmlToText(var1);
- String var11 = GetNormalizedLocal(var10);
- return new URL(var9, var11);
- } catch (MalformedURLException var12) {
- File var3 = new File(var1);
- return var3.exists() ? new URL("file:/" + var1) : new URL(var0, var2);
- }
- }
-
- static String tuHtmlToText(String var0) {
- if (var0 == null) {
- return null;
- } else {
- int var1 = var0.indexOf(38);
- if (var1 < 0) {
- return var0;
- } else {
- String var2 = "";
-
- while(var1 > -1 && var1 < var0.length() - 2) {
- var2 = var2 + var0.substring(0, var1);
- String var3 = var0.substring(var1);
- int var4 = var3.indexOf(59);
- if (var4 < 0) {
- var2 = var2 + var3;
- break;
- }
-
- if (var4 < var3.length() - 1) {
- var0 = var3.substring(var4 + 1);
- } else {
- var0 = "";
- }
-
- var3 = var3.substring(1, var4);
- switch (Character.toUpperCase(var3.charAt(0))) {
- case 'A':
- if (var3.equalsIgnoreCase("amp")) {
- var3 = "&";
- }
- break;
- case 'C':
- if (var3.equalsIgnoreCase("copy")) {
- var3 = "(c)";
- }
- break;
- case 'G':
- if (var3.equalsIgnoreCase("gt")) {
- var3 = ">";
- }
- break;
- case 'L':
- if (var3.equalsIgnoreCase("lt")) {
- var3 = "<";
- }
- break;
- case 'N':
- if (var3.equalsIgnoreCase("nbsp")) {
- var3 = " ";
- }
- break;
- case 'Q':
- if (var3.equalsIgnoreCase("quot")) {
- var3 = "\"";
- }
- break;
- case 'R':
- if (var3.equalsIgnoreCase("reg")) {
- var3 = "(R)";
- }
- }
-
- var2 = var2 + var3;
- var1 = var0.indexOf(38);
- if (var1 < 0) {
- var2 = var2 + var0;
- }
- }
-
- return var2;
- }
- }
- }
- }
-